home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / -seriously_amiga- / shareware / programming / c / asyncio / src / dmakefile < prev    next >
Makefile  |  1997-12-01  |  4KB  |  170 lines

  1. #
  2. # DMakeFile for asyncio library. Both shared library and normal library models.
  3. #
  4. #
  5. # Does not generate all flavors; only the basic ones:
  6. #   Normal arguments, smalldata
  7. #   Registered arguments, smalldata
  8. #
  9. # Should be easy to modify below to generate other flavors, if needed.
  10. #
  11.  
  12. SRC = CloseAsync.c OpenAsync.c OpenAsyncFH.c OpenAsyncFromFH.c PeekAsync.c \
  13.       ReadAsync.c ReadCharAsync.c ReadLineAsync.c RecordAsyncFailure.c     \
  14.       RequeuePacket.c SeekAsync.c SendPacket.c WaitPacket.c WriteAsync.c   \
  15.       WriteCharAsync.c WriteLineAsync.c FGetsLenAsync.c
  16.  
  17. OBJ = $(SRC:*.?:o/*.o)
  18.  
  19. PRAGMA = /include/pragmas/asyncio_pragmas.h
  20. FD     = /include/fd/asyncio_lib.fd
  21.  
  22. # Generate all "normal" flavors
  23.  
  24. All : /libs/asyncio.library $(PRAGMA) \
  25.       /dlib/asynciolibs.lib /dlib/asynciolibsr.lib /dlib/asyncios.lib /dlib/asynciosr.lib \
  26.       /lib/asyncio.lib /lib/asyncior.lib
  27.  
  28. asio : /libs/asyncio.library
  29.  
  30. Rev.h :
  31.     Rev -s -i -p -t -b
  32.  
  33. Lib.c : Rev.h
  34.  
  35. # The only difference when making the shared library is that Lib.c is included
  36. # (MUST be first), and that ASIO_SHARED_LIB is defined. It only affects another
  37. # define in the (private) include file async.h
  38.  
  39. /libs/asyncio.library : Lib.o $(OBJ)
  40.     Sc LINK TO %(left) %(right)
  41.  
  42. Lib.o $(OBJ) : Lib.c $(SRC)
  43.     Sc DEF ASIO_SHARED_LIB UTILLIB OBJNAME %(left) %(right)
  44.  
  45.  
  46. # Normal link libraries
  47.  
  48. /lib/asyncio.lib : $(SRC:*.c:ol/*.o) AsyncLib.o AsyncLibVer.o
  49.     Sc OBJLIB %(left) %(right)
  50.  
  51. $(SRC:*.c:ol/*.o) : $(SRC)
  52.     Sc PARAMS STACK OBJNAME %(left) %(right)
  53.  
  54. /lib/asyncior.lib : $(SRC:*.c:olr/*.o) AsyncLib.o AsyncLibVer.o
  55.     Sc OBJLIB %(left) %(right)
  56.  
  57. $(SRC:*.c:olr/*.o) AsyncLib.o AsyncLibVer.o : $(SRC) AsyncLib.c AsyncLibVer.c
  58.     Sc DEF ASIO_REGARGS OBJNAME %(left) %(right)
  59.  
  60. $(OBJ) : async.h
  61.  
  62.  
  63. # Keep the pragma file up to date
  64.  
  65. $(PRAGMA) : $(FD)
  66.     FDTOPragma -o%(left) %(right)
  67.  
  68.  
  69. # Link libraries for use with the shared version of the library. Only needed if
  70. # the -mi option isn't used, or you use the autoinit stuff.
  71.  
  72. /dlib/asynciolibs.lib : $(FD)
  73.     FDToLib -o%(left) %(right) -auto asyncio.library
  74.  
  75. /dlib/asynciolibsr.lib : $(FD)
  76.     FDToLib -o%(left) %(right) -mr -hasynciolibsr.h -auto asyncio.library
  77.  
  78. # Large data models of the above two libraries. Not generated per default.
  79.  
  80. /dlib/asynciolibs.lib : $(FD)
  81.     FDToLib -o%(left) %(right) -auto asyncio.library -md
  82.  
  83. /dlib/asynciolibsr.lib : $(FD)
  84.     FDToLib -o%(left) %(right) -mr -hasynciolibsr.h -auto asyncio.library -md
  85.  
  86.  
  87. # Here the normal link library versions are generated. See lib.def for more information.
  88.  
  89. /dlib/asyncios.lib :
  90.     LbMake asyncio s
  91.  
  92. /dlib/asynciosr.lib :
  93.     LbMake asyncio s r
  94.  
  95. # Other flavours, not generated per default
  96.  
  97. /dlib/asynciol.lib :
  98.     LbMake asyncio l
  99.  
  100. /dlib/asynciorl.lib :
  101.     LbMake asyncio l r
  102.  
  103. /dlib/asyncioes.lib :
  104.     LbMake asyncio s e
  105.  
  106. /dlib/asyncioesr.lib :
  107.     LbMake asyncio s r e
  108.  
  109. /dlib/asyncioel.lib :
  110.     LbMake asyncio l e
  111.  
  112. /dlib/asyncioelr.lib :
  113.     LbMake asyncio l r e
  114.  
  115. /dlib/asynciolp.lib :
  116.     LbMake asyncio l p
  117.  
  118. /dlib/asynciolrp.lib :
  119.     LbMake asyncio l r p
  120.  
  121. /dlib/asyncioesp.lib :
  122.     LbMake asyncio s p e
  123.  
  124. /dlib/asyncioesrp.lib :
  125.     LbMake asyncio s r p e
  126.  
  127. /dlib/asyncioelp.lib :
  128.     LbMake asyncio l p e
  129.  
  130. /dlib/asyncioelrp.lib :
  131.     LbMake asyncio l r p e
  132.  
  133. /dlib/asynciosp.lib :
  134.     LbMake asyncio s p
  135.  
  136. /dlib/asynciosrp.lib :
  137.     LbMake asyncio s r p
  138.  
  139.  
  140. # SAS versions of some of the above
  141.  
  142. /lib/asyncioer.lib : $(SRC:*.c:oler/*.o) AsyncLib.o
  143.     Sc OBJLIB %(left) %(right)
  144.  
  145. $(SRC:*.c:oler/*.o) : $(SRC)
  146.     Sc DEF ASIO_NOEXTERNALS DEF ASIO_REGARGS OBJNAME %(left) %(right)
  147.  
  148. /lib/asyncioe.lib : $(SRC:*.c:ole/*.o) AsyncLib.o
  149.     Sc OBJLIB %(left) %(right)
  150.  
  151. $(SRC:*.c:ole/*.o) : $(SRC)
  152.     Sc PARAMS STACK DEF ASIO_NOEXTERNALS OBJNAME %(left) %(right)
  153.  
  154.  
  155. # Some other "odd" SAS/C link library versions. "u" means that UtilityBase
  156. # is needed, and "2" means 020+ compiled.
  157.  
  158. /lib/asyncioru.lib : $(SRC:*.c:olru/*.o) AsyncLib.o
  159.     Sc OBJLIB %(left) %(right)
  160.  
  161. $(SRC:*.c:olru/*.o) : $(SRC)
  162.     Sc UTILLIB DEF ASIO_REGARGS OBJNAME %(left) %(right)
  163.  
  164. /lib/asyncioru2.lib : $(SRC:*.c:olru2/*.o) AsyncLib.o
  165.     Sc DEF ASIO_REGARGS OBJLIB %(left) %(right)
  166.  
  167. $(SRC:*.c:olru2/*.o) : $(SRC)
  168.     Sc UTILLIB CPU 68020 DEF ASIO_REGARGS OBJNAME %(left) %(right)
  169.  
  170.